// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.model.platformshipping;

import com.fowo.api.common.annotaion.DataObjectType;
import com.fowo.api.common.meta.MetaDataObject;
import com.fowo.api.common.meta.MetaDataObjects;
import com.fowo.api.common.model.PageSearch;
import com.fowo.api.common.mybatis.helper.PageSearchHelper;
import com.fowo.api.common.util.ListUtils;
import com.fowo.api.entity.Platformshipping;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

@DataObjectType(Platformshipping.class)
@Setter
@Getter
public class PlatformshippingSearchParamPo extends PageSearch {

  private static MetaDataObject metaDataObject;

  @Override
  public void applySqlSegments() {
    if (metaDataObject == null) {
      metaDataObject =
        ListUtils.find(
          MetaDataObjects.getObjects(),
          o -> "Platformshipping".equals(o.getName())
        );
    }
    PageSearchHelper.fillSqlSegments(this, metaDataObject);
  }

  @Override
  public void initFinal() {
    super.initFinal();
    applySqlSegments();
  }

  /**
   * 获取关联字段的查询表别名信息
   */
  @Override
  public Map<String, String> getJoinFieldTableAliasMap() {
    Map<String, String> map = new HashMap<>();
    map.put("deliverywarehouse", "w");
    map.put("logisticsprovider", "lp");
    map.put("logisticsproviderId", "lc");
    map.put("sendgoodspeople", "su");
    map.put("principalusername", "su2");
    return map;
  }

  @Override
  public Map<String, OptionalJoinField> getOptionalJoinFields() {
    Map<String, OptionalJoinField> map = new HashMap<>();
    map.put(
      "items.shopId",
      new OptionalJoinField()
        .setJoinPart(
          "LEFT JOIN platform_shipping_item AS RO_1 ON RO_1.del_flag = 0 AND RO_1.parent_platformshipping = t.id"
        )
        .setTableAlias("RO_1")
        .setColumnName("shop_id")
        .setNeedGroupBy(true)
    );
    map.put(
      "items.msku",
      new OptionalJoinField()
        .setJoinPart(
          "LEFT JOIN platform_shipping_item AS RO_2 ON RO_2.del_flag = 0 AND RO_2.parent_platformshipping = t.id"
        )
        .setTableAlias("RO_2")
        .setColumnName("msku")
        .setNeedGroupBy(true)
    );

    return map;
  }

  private Long items_shopId;
  private List<String> items_shopIdInList;
  private String items_msku;
  private List<String> items_mskuInList;

  /**
   * 指定使用特定的视图过滤条件
   * <p>
   * 有效值包括：Platformshipping/AllData, Platformshipping/WaitingDistribution, Platformshipping/TobeShipped, Platformshipping/Shipped, Platformshipping/Cancellation
   * </p>
   */
  private String byViewName;

  /**
   * 编号
   */
  private Long id;

  /**
   * 最小编号
   */
  private Long idMin;

  /**
   * 最大编号
   */
  private Long idMax;

  /**
   * 编号 比较(eq)
   */
  private Long idEq;
  /**
   * 编号 比较(neq)
   */
  private Long idNeq;
  /**
   * 编号 比较(gt)
   */
  private Long idGt;
  /**
   * 编号 比较(gte)
   */
  private Long idGte;
  /**
   * 编号 比较(lt)
   */
  private Long idLt;
  /**
   * 编号 比较(lte)
   */
  private Long idLte;
  /**
   * 编号 比较(contains)
   */
  private Long idContains;
  /**
   * 编号 比较(notcontains)
   */
  private Long idNotcontains;
  /**
   * 编号 比较(startswith)
   */
  private Long idStartswith;
  /**
   * 编号 比较(endswith)
   */
  private Long idEndswith;
  /**
   * 编号 比较(isnull)
   */
  private Boolean idIsnull;
  /**
   * 编号 比较(isnotnull)
   */
  private Boolean idIsnotnull;

  /**
   * 发货单号(模糊搜索)
   */
  private String shipmentCode;

  /**
   * 发货单号 比较(eq)
   */
  private String shipmentCodeEq;
  /**
   * 发货单号 比较(neq)
   */
  private String shipmentCodeNeq;
  /**
   * 发货单号 比较(gt)
   */
  private String shipmentCodeGt;
  /**
   * 发货单号 比较(gte)
   */
  private String shipmentCodeGte;
  /**
   * 发货单号 比较(lt)
   */
  private String shipmentCodeLt;
  /**
   * 发货单号 比较(lte)
   */
  private String shipmentCodeLte;
  /**
   * 发货单号 比较(contains)
   */
  private String shipmentCodeContains;
  /**
   * 发货单号 比较(notcontains)
   */
  private String shipmentCodeNotcontains;
  /**
   * 发货单号 比较(startswith)
   */
  private String shipmentCodeStartswith;
  /**
   * 发货单号 比较(endswith)
   */
  private String shipmentCodeEndswith;
  /**
   * 发货单号 比较(isnull)
   */
  private Boolean shipmentCodeIsnull;
  /**
   * 发货单号 比较(isnotnull)
   */
  private Boolean shipmentCodeIsnotnull;

  /**
   * 发货单号(精确搜索)
   */
  private List<String> shipmentCodeInList;

  /**
   * 发货仓库
   */
  private Long deliverywarehouse;

  /**
   * 发货仓库 比较(eq)
   */
  private Long deliverywarehouseEq;
  /**
   * 发货仓库 比较(neq)
   */
  private Long deliverywarehouseNeq;
  /**
   * 发货仓库 比较(gt)
   */
  private Long deliverywarehouseGt;
  /**
   * 发货仓库 比较(gte)
   */
  private Long deliverywarehouseGte;
  /**
   * 发货仓库 比较(lt)
   */
  private Long deliverywarehouseLt;
  /**
   * 发货仓库 比较(lte)
   */
  private Long deliverywarehouseLte;
  /**
   * 发货仓库 比较(contains)
   */
  private Long deliverywarehouseContains;
  /**
   * 发货仓库 比较(notcontains)
   */
  private Long deliverywarehouseNotcontains;
  /**
   * 发货仓库 比较(startswith)
   */
  private Long deliverywarehouseStartswith;
  /**
   * 发货仓库 比较(endswith)
   */
  private Long deliverywarehouseEndswith;
  /**
   * 发货仓库 比较(isnull)
   */
  private Boolean deliverywarehouseIsnull;
  /**
   * 发货仓库 比较(isnotnull)
   */
  private Boolean deliverywarehouseIsnotnull;
  /**
   * 发货仓库的仓库名称 比较(eq)
   */
  private String deliverywarehouseNameEq;
  /**
   * 发货仓库的仓库名称 比较(neq)
   */
  private String deliverywarehouseNameNeq;
  /**
   * 发货仓库的仓库名称 比较(gt)
   */
  private String deliverywarehouseNameGt;
  /**
   * 发货仓库的仓库名称 比较(gte)
   */
  private String deliverywarehouseNameGte;
  /**
   * 发货仓库的仓库名称 比较(lt)
   */
  private String deliverywarehouseNameLt;
  /**
   * 发货仓库的仓库名称 比较(lte)
   */
  private String deliverywarehouseNameLte;
  /**
   * 发货仓库的仓库名称 比较(contains)
   */
  private String deliverywarehouseNameContains;
  /**
   * 发货仓库的仓库名称 比较(notcontains)
   */
  private String deliverywarehouseNameNotcontains;
  /**
   * 发货仓库的仓库名称 比较(startswith)
   */
  private String deliverywarehouseNameStartswith;
  /**
   * 发货仓库的仓库名称 比较(endswith)
   */
  private String deliverywarehouseNameEndswith;
  /**
   * 发货仓库的仓库名称 比较(isnull)
   */
  private Boolean deliverywarehouseNameIsnull;
  /**
   * 发货仓库的仓库名称 比较(isnotnull)
   */
  private Boolean deliverywarehouseNameIsnotnull;

  /**
   * 发货仓库(范围搜索)
   */
  private List<Long> deliverywarehouseInList;

  /**
   * 创建人
   */
  private Long createUser;

  /**
   * 最小创建人
   */
  private Long createUserMin;

  /**
   * 最大创建人
   */
  private Long createUserMax;

  /**
   * 创建人 比较(eq)
   */
  private Long createUserEq;
  /**
   * 创建人 比较(neq)
   */
  private Long createUserNeq;
  /**
   * 创建人 比较(gt)
   */
  private Long createUserGt;
  /**
   * 创建人 比较(gte)
   */
  private Long createUserGte;
  /**
   * 创建人 比较(lt)
   */
  private Long createUserLt;
  /**
   * 创建人 比较(lte)
   */
  private Long createUserLte;
  /**
   * 创建人 比较(contains)
   */
  private Long createUserContains;
  /**
   * 创建人 比较(notcontains)
   */
  private Long createUserNotcontains;
  /**
   * 创建人 比较(startswith)
   */
  private Long createUserStartswith;
  /**
   * 创建人 比较(endswith)
   */
  private Long createUserEndswith;
  /**
   * 创建人 比较(isnull)
   */
  private Boolean createUserIsnull;
  /**
   * 创建人 比较(isnotnull)
   */
  private Boolean createUserIsnotnull;

  /**
   * 最早创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeStart;

  /**
   * 最晚创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeEnd;

  /**
   * 创建时间 比较(eq)
   */
  private Date createTimeEq;
  /**
   * 创建时间 比较(neq)
   */
  private Date createTimeNeq;
  /**
   * 创建时间 比较(gt)
   */
  private Date createTimeGt;
  /**
   * 创建时间 比较(gte)
   */
  private Date createTimeGte;
  /**
   * 创建时间 比较(lt)
   */
  private Date createTimeLt;
  /**
   * 创建时间 比较(lte)
   */
  private Date createTimeLte;
  /**
   * 创建时间 比较(contains)
   */
  private Date createTimeContains;
  /**
   * 创建时间 比较(notcontains)
   */
  private Date createTimeNotcontains;
  /**
   * 创建时间 比较(startswith)
   */
  private Date createTimeStartswith;
  /**
   * 创建时间 比较(endswith)
   */
  private Date createTimeEndswith;
  /**
   * 创建时间 比较(isnull)
   */
  private Boolean createTimeIsnull;
  /**
   * 创建时间 比较(isnotnull)
   */
  private Boolean createTimeIsnotnull;

  /**
   * 最早发货时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date deliveryTimeStart;

  /**
   * 最晚发货时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date deliveryTimeEnd;

  /**
   * 发货时间 比较(eq)
   */
  private Date deliveryTimeEq;
  /**
   * 发货时间 比较(neq)
   */
  private Date deliveryTimeNeq;
  /**
   * 发货时间 比较(gt)
   */
  private Date deliveryTimeGt;
  /**
   * 发货时间 比较(gte)
   */
  private Date deliveryTimeGte;
  /**
   * 发货时间 比较(lt)
   */
  private Date deliveryTimeLt;
  /**
   * 发货时间 比较(lte)
   */
  private Date deliveryTimeLte;
  /**
   * 发货时间 比较(contains)
   */
  private Date deliveryTimeContains;
  /**
   * 发货时间 比较(notcontains)
   */
  private Date deliveryTimeNotcontains;
  /**
   * 发货时间 比较(startswith)
   */
  private Date deliveryTimeStartswith;
  /**
   * 发货时间 比较(endswith)
   */
  private Date deliveryTimeEndswith;
  /**
   * 发货时间 比较(isnull)
   */
  private Boolean deliveryTimeIsnull;
  /**
   * 发货时间 比较(isnotnull)
   */
  private Boolean deliveryTimeIsnotnull;

  /**
   * 最早更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeStart;

  /**
   * 最晚更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeEnd;

  /**
   * 更新时间 比较(eq)
   */
  private Date lastUpdateTimeEq;
  /**
   * 更新时间 比较(neq)
   */
  private Date lastUpdateTimeNeq;
  /**
   * 更新时间 比较(gt)
   */
  private Date lastUpdateTimeGt;
  /**
   * 更新时间 比较(gte)
   */
  private Date lastUpdateTimeGte;
  /**
   * 更新时间 比较(lt)
   */
  private Date lastUpdateTimeLt;
  /**
   * 更新时间 比较(lte)
   */
  private Date lastUpdateTimeLte;
  /**
   * 更新时间 比较(contains)
   */
  private Date lastUpdateTimeContains;
  /**
   * 更新时间 比较(notcontains)
   */
  private Date lastUpdateTimeNotcontains;
  /**
   * 更新时间 比较(startswith)
   */
  private Date lastUpdateTimeStartswith;
  /**
   * 更新时间 比较(endswith)
   */
  private Date lastUpdateTimeEndswith;
  /**
   * 更新时间 比较(isnull)
   */
  private Boolean lastUpdateTimeIsnull;
  /**
   * 更新时间 比较(isnotnull)
   */
  private Boolean lastUpdateTimeIsnotnull;

  /**
   * 发货状态
   */
  private String shippingstatus;

  /**
   * 发货状态 比较(eq)
   */
  private String shippingstatusEq;
  /**
   * 发货状态 比较(neq)
   */
  private String shippingstatusNeq;
  /**
   * 发货状态 比较(gt)
   */
  private String shippingstatusGt;
  /**
   * 发货状态 比较(gte)
   */
  private String shippingstatusGte;
  /**
   * 发货状态 比较(lt)
   */
  private String shippingstatusLt;
  /**
   * 发货状态 比较(lte)
   */
  private String shippingstatusLte;
  /**
   * 发货状态 比较(contains)
   */
  private String shippingstatusContains;
  /**
   * 发货状态 比较(notcontains)
   */
  private String shippingstatusNotcontains;
  /**
   * 发货状态 比较(startswith)
   */
  private String shippingstatusStartswith;
  /**
   * 发货状态 比较(endswith)
   */
  private String shippingstatusEndswith;
  /**
   * 发货状态 比较(isnull)
   */
  private Boolean shippingstatusIsnull;
  /**
   * 发货状态 比较(isnotnull)
   */
  private Boolean shippingstatusIsnotnull;

  /**
   * 发货状态(精确搜索)
   */
  private List<String> shippingstatusInList;

  /**
   * 最早到货时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date arrivaltimeStart;

  /**
   * 最晚到货时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date arrivaltimeEnd;

  /**
   * 到货时间 比较(eq)
   */
  private Date arrivaltimeEq;
  /**
   * 到货时间 比较(neq)
   */
  private Date arrivaltimeNeq;
  /**
   * 到货时间 比较(gt)
   */
  private Date arrivaltimeGt;
  /**
   * 到货时间 比较(gte)
   */
  private Date arrivaltimeGte;
  /**
   * 到货时间 比较(lt)
   */
  private Date arrivaltimeLt;
  /**
   * 到货时间 比较(lte)
   */
  private Date arrivaltimeLte;
  /**
   * 到货时间 比较(contains)
   */
  private Date arrivaltimeContains;
  /**
   * 到货时间 比较(notcontains)
   */
  private Date arrivaltimeNotcontains;
  /**
   * 到货时间 比较(startswith)
   */
  private Date arrivaltimeStartswith;
  /**
   * 到货时间 比较(endswith)
   */
  private Date arrivaltimeEndswith;
  /**
   * 到货时间 比较(isnull)
   */
  private Boolean arrivaltimeIsnull;
  /**
   * 到货时间 比较(isnotnull)
   */
  private Boolean arrivaltimeIsnotnull;

  /**
   * 最早开船时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date sailtimeStart;

  /**
   * 最晚开船时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date sailtimeEnd;

  /**
   * 开船时间 比较(eq)
   */
  private Date sailtimeEq;
  /**
   * 开船时间 比较(neq)
   */
  private Date sailtimeNeq;
  /**
   * 开船时间 比较(gt)
   */
  private Date sailtimeGt;
  /**
   * 开船时间 比较(gte)
   */
  private Date sailtimeGte;
  /**
   * 开船时间 比较(lt)
   */
  private Date sailtimeLt;
  /**
   * 开船时间 比较(lte)
   */
  private Date sailtimeLte;
  /**
   * 开船时间 比较(contains)
   */
  private Date sailtimeContains;
  /**
   * 开船时间 比较(notcontains)
   */
  private Date sailtimeNotcontains;
  /**
   * 开船时间 比较(startswith)
   */
  private Date sailtimeStartswith;
  /**
   * 开船时间 比较(endswith)
   */
  private Date sailtimeEndswith;
  /**
   * 开船时间 比较(isnull)
   */
  private Boolean sailtimeIsnull;
  /**
   * 开船时间 比较(isnotnull)
   */
  private Boolean sailtimeIsnotnull;

  /**
   * 最早预计到港时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date expectedarrivaltimeStart;

  /**
   * 最晚预计到港时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date expectedarrivaltimeEnd;

  /**
   * 预计到港时间 比较(eq)
   */
  private Date expectedarrivaltimeEq;
  /**
   * 预计到港时间 比较(neq)
   */
  private Date expectedarrivaltimeNeq;
  /**
   * 预计到港时间 比较(gt)
   */
  private Date expectedarrivaltimeGt;
  /**
   * 预计到港时间 比较(gte)
   */
  private Date expectedarrivaltimeGte;
  /**
   * 预计到港时间 比较(lt)
   */
  private Date expectedarrivaltimeLt;
  /**
   * 预计到港时间 比较(lte)
   */
  private Date expectedarrivaltimeLte;
  /**
   * 预计到港时间 比较(contains)
   */
  private Date expectedarrivaltimeContains;
  /**
   * 预计到港时间 比较(notcontains)
   */
  private Date expectedarrivaltimeNotcontains;
  /**
   * 预计到港时间 比较(startswith)
   */
  private Date expectedarrivaltimeStartswith;
  /**
   * 预计到港时间 比较(endswith)
   */
  private Date expectedarrivaltimeEndswith;
  /**
   * 预计到港时间 比较(isnull)
   */
  private Boolean expectedarrivaltimeIsnull;
  /**
   * 预计到港时间 比较(isnotnull)
   */
  private Boolean expectedarrivaltimeIsnotnull;

  /**
   * 最早实际妥投时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date actualdueimeStart;

  /**
   * 最晚实际妥投时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date actualdueimeEnd;

  /**
   * 实际妥投时间 比较(eq)
   */
  private Date actualdueimeEq;
  /**
   * 实际妥投时间 比较(neq)
   */
  private Date actualdueimeNeq;
  /**
   * 实际妥投时间 比较(gt)
   */
  private Date actualdueimeGt;
  /**
   * 实际妥投时间 比较(gte)
   */
  private Date actualdueimeGte;
  /**
   * 实际妥投时间 比较(lt)
   */
  private Date actualdueimeLt;
  /**
   * 实际妥投时间 比较(lte)
   */
  private Date actualdueimeLte;
  /**
   * 实际妥投时间 比较(contains)
   */
  private Date actualdueimeContains;
  /**
   * 实际妥投时间 比较(notcontains)
   */
  private Date actualdueimeNotcontains;
  /**
   * 实际妥投时间 比较(startswith)
   */
  private Date actualdueimeStartswith;
  /**
   * 实际妥投时间 比较(endswith)
   */
  private Date actualdueimeEndswith;
  /**
   * 实际妥投时间 比较(isnull)
   */
  private Boolean actualdueimeIsnull;
  /**
   * 实际妥投时间 比较(isnotnull)
   */
  private Boolean actualdueimeIsnotnull;

  /**
   * 最早实际发货时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date actualdeliverytimeStart;

  /**
   * 最晚实际发货时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date actualdeliverytimeEnd;

  /**
   * 实际发货时间 比较(eq)
   */
  private Date actualdeliverytimeEq;
  /**
   * 实际发货时间 比较(neq)
   */
  private Date actualdeliverytimeNeq;
  /**
   * 实际发货时间 比较(gt)
   */
  private Date actualdeliverytimeGt;
  /**
   * 实际发货时间 比较(gte)
   */
  private Date actualdeliverytimeGte;
  /**
   * 实际发货时间 比较(lt)
   */
  private Date actualdeliverytimeLt;
  /**
   * 实际发货时间 比较(lte)
   */
  private Date actualdeliverytimeLte;
  /**
   * 实际发货时间 比较(contains)
   */
  private Date actualdeliverytimeContains;
  /**
   * 实际发货时间 比较(notcontains)
   */
  private Date actualdeliverytimeNotcontains;
  /**
   * 实际发货时间 比较(startswith)
   */
  private Date actualdeliverytimeStartswith;
  /**
   * 实际发货时间 比较(endswith)
   */
  private Date actualdeliverytimeEndswith;
  /**
   * 实际发货时间 比较(isnull)
   */
  private Boolean actualdeliverytimeIsnull;
  /**
   * 实际发货时间 比较(isnotnull)
   */
  private Boolean actualdeliverytimeIsnotnull;

  /**
   * 物流中心编码(模糊搜索)
   */
  private String logisticscode;

  /**
   * 物流中心编码 比较(eq)
   */
  private String logisticscodeEq;
  /**
   * 物流中心编码 比较(neq)
   */
  private String logisticscodeNeq;
  /**
   * 物流中心编码 比较(gt)
   */
  private String logisticscodeGt;
  /**
   * 物流中心编码 比较(gte)
   */
  private String logisticscodeGte;
  /**
   * 物流中心编码 比较(lt)
   */
  private String logisticscodeLt;
  /**
   * 物流中心编码 比较(lte)
   */
  private String logisticscodeLte;
  /**
   * 物流中心编码 比较(contains)
   */
  private String logisticscodeContains;
  /**
   * 物流中心编码 比较(notcontains)
   */
  private String logisticscodeNotcontains;
  /**
   * 物流中心编码 比较(startswith)
   */
  private String logisticscodeStartswith;
  /**
   * 物流中心编码 比较(endswith)
   */
  private String logisticscodeEndswith;
  /**
   * 物流中心编码 比较(isnull)
   */
  private Boolean logisticscodeIsnull;
  /**
   * 物流中心编码 比较(isnotnull)
   */
  private Boolean logisticscodeIsnotnull;

  /**
   * 物流中心编码(精确搜索)
   */
  private List<String> logisticscodeInList;

  /**
   * 物流信息(模糊搜索)
   */
  private String logisticsInfo;

  /**
   * 物流信息 比较(eq)
   */
  private String logisticsInfoEq;
  /**
   * 物流信息 比较(neq)
   */
  private String logisticsInfoNeq;
  /**
   * 物流信息 比较(gt)
   */
  private String logisticsInfoGt;
  /**
   * 物流信息 比较(gte)
   */
  private String logisticsInfoGte;
  /**
   * 物流信息 比较(lt)
   */
  private String logisticsInfoLt;
  /**
   * 物流信息 比较(lte)
   */
  private String logisticsInfoLte;
  /**
   * 物流信息 比较(contains)
   */
  private String logisticsInfoContains;
  /**
   * 物流信息 比较(notcontains)
   */
  private String logisticsInfoNotcontains;
  /**
   * 物流信息 比较(startswith)
   */
  private String logisticsInfoStartswith;
  /**
   * 物流信息 比较(endswith)
   */
  private String logisticsInfoEndswith;
  /**
   * 物流信息 比较(isnull)
   */
  private Boolean logisticsInfoIsnull;
  /**
   * 物流信息 比较(isnotnull)
   */
  private Boolean logisticsInfoIsnotnull;

  /**
   * 物流信息(精确搜索)
   */
  private List<String> logisticsInfoInList;

  /**
   * 备注(模糊搜索)
   */
  private String remarks;

  /**
   * 备注 比较(eq)
   */
  private String remarksEq;
  /**
   * 备注 比较(neq)
   */
  private String remarksNeq;
  /**
   * 备注 比较(gt)
   */
  private String remarksGt;
  /**
   * 备注 比较(gte)
   */
  private String remarksGte;
  /**
   * 备注 比较(lt)
   */
  private String remarksLt;
  /**
   * 备注 比较(lte)
   */
  private String remarksLte;
  /**
   * 备注 比较(contains)
   */
  private String remarksContains;
  /**
   * 备注 比较(notcontains)
   */
  private String remarksNotcontains;
  /**
   * 备注 比较(startswith)
   */
  private String remarksStartswith;
  /**
   * 备注 比较(endswith)
   */
  private String remarksEndswith;
  /**
   * 备注 比较(isnull)
   */
  private Boolean remarksIsnull;
  /**
   * 备注 比较(isnotnull)
   */
  private Boolean remarksIsnotnull;

  /**
   * 备注(精确搜索)
   */
  private List<String> remarksInList;

  /**
   * 更新人
   */
  private Long lastUpdateUser;

  /**
   * 最小更新人
   */
  private Long lastUpdateUserMin;

  /**
   * 最大更新人
   */
  private Long lastUpdateUserMax;

  /**
   * 更新人 比较(eq)
   */
  private Long lastUpdateUserEq;
  /**
   * 更新人 比较(neq)
   */
  private Long lastUpdateUserNeq;
  /**
   * 更新人 比较(gt)
   */
  private Long lastUpdateUserGt;
  /**
   * 更新人 比较(gte)
   */
  private Long lastUpdateUserGte;
  /**
   * 更新人 比较(lt)
   */
  private Long lastUpdateUserLt;
  /**
   * 更新人 比较(lte)
   */
  private Long lastUpdateUserLte;
  /**
   * 更新人 比较(contains)
   */
  private Long lastUpdateUserContains;
  /**
   * 更新人 比较(notcontains)
   */
  private Long lastUpdateUserNotcontains;
  /**
   * 更新人 比较(startswith)
   */
  private Long lastUpdateUserStartswith;
  /**
   * 更新人 比较(endswith)
   */
  private Long lastUpdateUserEndswith;
  /**
   * 更新人 比较(isnull)
   */
  private Boolean lastUpdateUserIsnull;
  /**
   * 更新人 比较(isnotnull)
   */
  private Boolean lastUpdateUserIsnotnull;

  /**
   * 物流商
   */
  private Long logisticsprovider;

  /**
   * 物流商 比较(eq)
   */
  private Long logisticsproviderEq;
  /**
   * 物流商 比较(neq)
   */
  private Long logisticsproviderNeq;
  /**
   * 物流商 比较(gt)
   */
  private Long logisticsproviderGt;
  /**
   * 物流商 比较(gte)
   */
  private Long logisticsproviderGte;
  /**
   * 物流商 比较(lt)
   */
  private Long logisticsproviderLt;
  /**
   * 物流商 比较(lte)
   */
  private Long logisticsproviderLte;
  /**
   * 物流商 比较(contains)
   */
  private Long logisticsproviderContains;
  /**
   * 物流商 比较(notcontains)
   */
  private Long logisticsproviderNotcontains;
  /**
   * 物流商 比较(startswith)
   */
  private Long logisticsproviderStartswith;
  /**
   * 物流商 比较(endswith)
   */
  private Long logisticsproviderEndswith;
  /**
   * 物流商 比较(isnull)
   */
  private Boolean logisticsproviderIsnull;
  /**
   * 物流商 比较(isnotnull)
   */
  private Boolean logisticsproviderIsnotnull;
  /**
   * 物流商的物流商 比较(eq)
   */
  private String logisticsproviderNameEq;
  /**
   * 物流商的物流商 比较(neq)
   */
  private String logisticsproviderNameNeq;
  /**
   * 物流商的物流商 比较(gt)
   */
  private String logisticsproviderNameGt;
  /**
   * 物流商的物流商 比较(gte)
   */
  private String logisticsproviderNameGte;
  /**
   * 物流商的物流商 比较(lt)
   */
  private String logisticsproviderNameLt;
  /**
   * 物流商的物流商 比较(lte)
   */
  private String logisticsproviderNameLte;
  /**
   * 物流商的物流商 比较(contains)
   */
  private String logisticsproviderNameContains;
  /**
   * 物流商的物流商 比较(notcontains)
   */
  private String logisticsproviderNameNotcontains;
  /**
   * 物流商的物流商 比较(startswith)
   */
  private String logisticsproviderNameStartswith;
  /**
   * 物流商的物流商 比较(endswith)
   */
  private String logisticsproviderNameEndswith;
  /**
   * 物流商的物流商 比较(isnull)
   */
  private Boolean logisticsproviderNameIsnull;
  /**
   * 物流商的物流商 比较(isnotnull)
   */
  private Boolean logisticsproviderNameIsnotnull;

  /**
   * 物流商(范围搜索)
   */
  private List<Long> logisticsproviderInList;

  /**
   * 物流方式
   */
  private Long logisticsproviderId;

  /**
   * 物流方式 比较(eq)
   */
  private Long logisticsproviderIdEq;
  /**
   * 物流方式 比较(neq)
   */
  private Long logisticsproviderIdNeq;
  /**
   * 物流方式 比较(gt)
   */
  private Long logisticsproviderIdGt;
  /**
   * 物流方式 比较(gte)
   */
  private Long logisticsproviderIdGte;
  /**
   * 物流方式 比较(lt)
   */
  private Long logisticsproviderIdLt;
  /**
   * 物流方式 比较(lte)
   */
  private Long logisticsproviderIdLte;
  /**
   * 物流方式 比较(contains)
   */
  private Long logisticsproviderIdContains;
  /**
   * 物流方式 比较(notcontains)
   */
  private Long logisticsproviderIdNotcontains;
  /**
   * 物流方式 比较(startswith)
   */
  private Long logisticsproviderIdStartswith;
  /**
   * 物流方式 比较(endswith)
   */
  private Long logisticsproviderIdEndswith;
  /**
   * 物流方式 比较(isnull)
   */
  private Boolean logisticsproviderIdIsnull;
  /**
   * 物流方式 比较(isnotnull)
   */
  private Boolean logisticsproviderIdIsnotnull;
  /**
   * 物流方式的物流渠道 比较(eq)
   */
  private String logisticsproviderIdNameEq;
  /**
   * 物流方式的物流渠道 比较(neq)
   */
  private String logisticsproviderIdNameNeq;
  /**
   * 物流方式的物流渠道 比较(gt)
   */
  private String logisticsproviderIdNameGt;
  /**
   * 物流方式的物流渠道 比较(gte)
   */
  private String logisticsproviderIdNameGte;
  /**
   * 物流方式的物流渠道 比较(lt)
   */
  private String logisticsproviderIdNameLt;
  /**
   * 物流方式的物流渠道 比较(lte)
   */
  private String logisticsproviderIdNameLte;
  /**
   * 物流方式的物流渠道 比较(contains)
   */
  private String logisticsproviderIdNameContains;
  /**
   * 物流方式的物流渠道 比较(notcontains)
   */
  private String logisticsproviderIdNameNotcontains;
  /**
   * 物流方式的物流渠道 比较(startswith)
   */
  private String logisticsproviderIdNameStartswith;
  /**
   * 物流方式的物流渠道 比较(endswith)
   */
  private String logisticsproviderIdNameEndswith;
  /**
   * 物流方式的物流渠道 比较(isnull)
   */
  private Boolean logisticsproviderIdNameIsnull;
  /**
   * 物流方式的物流渠道 比较(isnotnull)
   */
  private Boolean logisticsproviderIdNameIsnotnull;

  /**
   * 物流方式(范围搜索)
   */
  private List<Long> logisticsproviderIdInList;

  /**
   * 分摊方式
   */
  private String headfeetype;

  /**
   * 分摊方式 比较(eq)
   */
  private String headfeetypeEq;
  /**
   * 分摊方式 比较(neq)
   */
  private String headfeetypeNeq;
  /**
   * 分摊方式 比较(gt)
   */
  private String headfeetypeGt;
  /**
   * 分摊方式 比较(gte)
   */
  private String headfeetypeGte;
  /**
   * 分摊方式 比较(lt)
   */
  private String headfeetypeLt;
  /**
   * 分摊方式 比较(lte)
   */
  private String headfeetypeLte;
  /**
   * 分摊方式 比较(contains)
   */
  private String headfeetypeContains;
  /**
   * 分摊方式 比较(notcontains)
   */
  private String headfeetypeNotcontains;
  /**
   * 分摊方式 比较(startswith)
   */
  private String headfeetypeStartswith;
  /**
   * 分摊方式 比较(endswith)
   */
  private String headfeetypeEndswith;
  /**
   * 分摊方式 比较(isnull)
   */
  private Boolean headfeetypeIsnull;
  /**
   * 分摊方式 比较(isnotnull)
   */
  private Boolean headfeetypeIsnotnull;

  /**
   * 分摊方式(精确搜索)
   */
  private List<String> headfeetypeInList;

  /**
   * 发货人
   */
  private Long sendgoodspeople;

  /**
   * 发货人 比较(eq)
   */
  private Long sendgoodspeopleEq;
  /**
   * 发货人 比较(neq)
   */
  private Long sendgoodspeopleNeq;
  /**
   * 发货人 比较(gt)
   */
  private Long sendgoodspeopleGt;
  /**
   * 发货人 比较(gte)
   */
  private Long sendgoodspeopleGte;
  /**
   * 发货人 比较(lt)
   */
  private Long sendgoodspeopleLt;
  /**
   * 发货人 比较(lte)
   */
  private Long sendgoodspeopleLte;
  /**
   * 发货人 比较(contains)
   */
  private Long sendgoodspeopleContains;
  /**
   * 发货人 比较(notcontains)
   */
  private Long sendgoodspeopleNotcontains;
  /**
   * 发货人 比较(startswith)
   */
  private Long sendgoodspeopleStartswith;
  /**
   * 发货人 比较(endswith)
   */
  private Long sendgoodspeopleEndswith;
  /**
   * 发货人 比较(isnull)
   */
  private Boolean sendgoodspeopleIsnull;
  /**
   * 发货人 比较(isnotnull)
   */
  private Boolean sendgoodspeopleIsnotnull;
  /**
   * 发货人的显示用户名 比较(eq)
   */
  private String sendgoodspeopleNameEq;
  /**
   * 发货人的显示用户名 比较(neq)
   */
  private String sendgoodspeopleNameNeq;
  /**
   * 发货人的显示用户名 比较(gt)
   */
  private String sendgoodspeopleNameGt;
  /**
   * 发货人的显示用户名 比较(gte)
   */
  private String sendgoodspeopleNameGte;
  /**
   * 发货人的显示用户名 比较(lt)
   */
  private String sendgoodspeopleNameLt;
  /**
   * 发货人的显示用户名 比较(lte)
   */
  private String sendgoodspeopleNameLte;
  /**
   * 发货人的显示用户名 比较(contains)
   */
  private String sendgoodspeopleNameContains;
  /**
   * 发货人的显示用户名 比较(notcontains)
   */
  private String sendgoodspeopleNameNotcontains;
  /**
   * 发货人的显示用户名 比较(startswith)
   */
  private String sendgoodspeopleNameStartswith;
  /**
   * 发货人的显示用户名 比较(endswith)
   */
  private String sendgoodspeopleNameEndswith;
  /**
   * 发货人的显示用户名 比较(isnull)
   */
  private Boolean sendgoodspeopleNameIsnull;
  /**
   * 发货人的显示用户名 比较(isnotnull)
   */
  private Boolean sendgoodspeopleNameIsnotnull;

  /**
   * 发货人(范围搜索)
   */
  private List<Long> sendgoodspeopleInList;

  /**
   * 订单物流状态
   */
  private String orderlogisticsstatus;

  /**
   * 订单物流状态 比较(eq)
   */
  private String orderlogisticsstatusEq;
  /**
   * 订单物流状态 比较(neq)
   */
  private String orderlogisticsstatusNeq;
  /**
   * 订单物流状态 比较(gt)
   */
  private String orderlogisticsstatusGt;
  /**
   * 订单物流状态 比较(gte)
   */
  private String orderlogisticsstatusGte;
  /**
   * 订单物流状态 比较(lt)
   */
  private String orderlogisticsstatusLt;
  /**
   * 订单物流状态 比较(lte)
   */
  private String orderlogisticsstatusLte;
  /**
   * 订单物流状态 比较(contains)
   */
  private String orderlogisticsstatusContains;
  /**
   * 订单物流状态 比较(notcontains)
   */
  private String orderlogisticsstatusNotcontains;
  /**
   * 订单物流状态 比较(startswith)
   */
  private String orderlogisticsstatusStartswith;
  /**
   * 订单物流状态 比较(endswith)
   */
  private String orderlogisticsstatusEndswith;
  /**
   * 订单物流状态 比较(isnull)
   */
  private Boolean orderlogisticsstatusIsnull;
  /**
   * 订单物流状态 比较(isnotnull)
   */
  private Boolean orderlogisticsstatusIsnotnull;

  /**
   * 订单物流状态(精确搜索)
   */
  private List<String> orderlogisticsstatusInList;

  /**
   * 负责人
   */
  private Long principalusername;

  /**
   * 负责人 比较(eq)
   */
  private Long principalusernameEq;
  /**
   * 负责人 比较(neq)
   */
  private Long principalusernameNeq;
  /**
   * 负责人 比较(gt)
   */
  private Long principalusernameGt;
  /**
   * 负责人 比较(gte)
   */
  private Long principalusernameGte;
  /**
   * 负责人 比较(lt)
   */
  private Long principalusernameLt;
  /**
   * 负责人 比较(lte)
   */
  private Long principalusernameLte;
  /**
   * 负责人 比较(contains)
   */
  private Long principalusernameContains;
  /**
   * 负责人 比较(notcontains)
   */
  private Long principalusernameNotcontains;
  /**
   * 负责人 比较(startswith)
   */
  private Long principalusernameStartswith;
  /**
   * 负责人 比较(endswith)
   */
  private Long principalusernameEndswith;
  /**
   * 负责人 比较(isnull)
   */
  private Boolean principalusernameIsnull;
  /**
   * 负责人 比较(isnotnull)
   */
  private Boolean principalusernameIsnotnull;
  /**
   * 负责人的显示用户名 比较(eq)
   */
  private String principalusernameNameEq;
  /**
   * 负责人的显示用户名 比较(neq)
   */
  private String principalusernameNameNeq;
  /**
   * 负责人的显示用户名 比较(gt)
   */
  private String principalusernameNameGt;
  /**
   * 负责人的显示用户名 比较(gte)
   */
  private String principalusernameNameGte;
  /**
   * 负责人的显示用户名 比较(lt)
   */
  private String principalusernameNameLt;
  /**
   * 负责人的显示用户名 比较(lte)
   */
  private String principalusernameNameLte;
  /**
   * 负责人的显示用户名 比较(contains)
   */
  private String principalusernameNameContains;
  /**
   * 负责人的显示用户名 比较(notcontains)
   */
  private String principalusernameNameNotcontains;
  /**
   * 负责人的显示用户名 比较(startswith)
   */
  private String principalusernameNameStartswith;
  /**
   * 负责人的显示用户名 比较(endswith)
   */
  private String principalusernameNameEndswith;
  /**
   * 负责人的显示用户名 比较(isnull)
   */
  private Boolean principalusernameNameIsnull;
  /**
   * 负责人的显示用户名 比较(isnotnull)
   */
  private Boolean principalusernameNameIsnotnull;

  /**
   * 负责人(范围搜索)
   */
  private List<Long> principalusernameInList;

  /**
   * 是否有 附件
   */
  private Boolean fj;

  /**
   * 是否锁库存
   */
  private String isinventorylocked;

  /**
   * 是否锁库存 比较(eq)
   */
  private String isinventorylockedEq;
  /**
   * 是否锁库存 比较(neq)
   */
  private String isinventorylockedNeq;
  /**
   * 是否锁库存 比较(gt)
   */
  private String isinventorylockedGt;
  /**
   * 是否锁库存 比较(gte)
   */
  private String isinventorylockedGte;
  /**
   * 是否锁库存 比较(lt)
   */
  private String isinventorylockedLt;
  /**
   * 是否锁库存 比较(lte)
   */
  private String isinventorylockedLte;
  /**
   * 是否锁库存 比较(contains)
   */
  private String isinventorylockedContains;
  /**
   * 是否锁库存 比较(notcontains)
   */
  private String isinventorylockedNotcontains;
  /**
   * 是否锁库存 比较(startswith)
   */
  private String isinventorylockedStartswith;
  /**
   * 是否锁库存 比较(endswith)
   */
  private String isinventorylockedEndswith;
  /**
   * 是否锁库存 比较(isnull)
   */
  private Boolean isinventorylockedIsnull;
  /**
   * 是否锁库存 比较(isnotnull)
   */
  private Boolean isinventorylockedIsnotnull;

  /**
   * 是否锁库存(精确搜索)
   */
  private List<String> isinventorylockedInList;

  /**
   * 拣货状态
   */
  private String pickingnot;

  /**
   * 拣货状态 比较(eq)
   */
  private String pickingnotEq;
  /**
   * 拣货状态 比较(neq)
   */
  private String pickingnotNeq;
  /**
   * 拣货状态 比较(gt)
   */
  private String pickingnotGt;
  /**
   * 拣货状态 比较(gte)
   */
  private String pickingnotGte;
  /**
   * 拣货状态 比较(lt)
   */
  private String pickingnotLt;
  /**
   * 拣货状态 比较(lte)
   */
  private String pickingnotLte;
  /**
   * 拣货状态 比较(contains)
   */
  private String pickingnotContains;
  /**
   * 拣货状态 比较(notcontains)
   */
  private String pickingnotNotcontains;
  /**
   * 拣货状态 比较(startswith)
   */
  private String pickingnotStartswith;
  /**
   * 拣货状态 比较(endswith)
   */
  private String pickingnotEndswith;
  /**
   * 拣货状态 比较(isnull)
   */
  private Boolean pickingnotIsnull;
  /**
   * 拣货状态 比较(isnotnull)
   */
  private Boolean pickingnotIsnotnull;

  /**
   * 拣货状态(精确搜索)
   */
  private List<String> pickingnotInList;

  /**
   * wfs货件号(模糊搜索)
   */
  private String sendgoodscode;

  /**
   * wfs货件号 比较(eq)
   */
  private String sendgoodscodeEq;
  /**
   * wfs货件号 比较(neq)
   */
  private String sendgoodscodeNeq;
  /**
   * wfs货件号 比较(gt)
   */
  private String sendgoodscodeGt;
  /**
   * wfs货件号 比较(gte)
   */
  private String sendgoodscodeGte;
  /**
   * wfs货件号 比较(lt)
   */
  private String sendgoodscodeLt;
  /**
   * wfs货件号 比较(lte)
   */
  private String sendgoodscodeLte;
  /**
   * wfs货件号 比较(contains)
   */
  private String sendgoodscodeContains;
  /**
   * wfs货件号 比较(notcontains)
   */
  private String sendgoodscodeNotcontains;
  /**
   * wfs货件号 比较(startswith)
   */
  private String sendgoodscodeStartswith;
  /**
   * wfs货件号 比较(endswith)
   */
  private String sendgoodscodeEndswith;
  /**
   * wfs货件号 比较(isnull)
   */
  private Boolean sendgoodscodeIsnull;
  /**
   * wfs货件号 比较(isnotnull)
   */
  private Boolean sendgoodscodeIsnotnull;

  /**
   * wfs货件号(精确搜索)
   */
  private List<String> sendgoodscodeInList;

  /**
   * 表单名称
   */
  private String formName;

  /**
   * 工作流状态
   */
  private Integer wfStatus;
}
